require 'rbof'

def show_supported_api
  include OF
  puts "rbof supports the following api"
  puts
  
  puts
  puts "Constants:"
  OF.constants.delete_if {|c| c.upcase != c} .sort!.each {|c| puts "\t#{c}"}
  
  puts
  puts "Module functions:"
  OF.methods(false).sort!.each {|f| puts "\t#{f}"}

  OF.constants.delete_if {|c| c.upcase == c} .sort!.each do |c|
    case c
    when "BgColorProxy", "UninitializedError"
    else
      puts
      puts "#{c} methods:"
      eval(c).instance_methods(false).sort!.each do |m|
        puts "\t#{m}"
      end
    end
  end
end

show_supported_api